/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package entidade;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Temporal;

/**
 *
 * @author Thais
 */
@Entity
public class Treino implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long idTreino;  
    @OneToOne
    @JoinColumn(name="idAluno", referencedColumnName = "idAluno")
    private Aluno aluno;
    private String objetivo;
    private String qtdTreinoRealizados;
    private int frequencia;
    private String observacao;
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date dataInicio;
    @OneToMany
    private List<TreinoPreTreino> preTreino;   
    @OneToMany
    private List<ExercicioTreino> exercicios;

    public Long getIdTreino() {
        return idTreino;
    }

    public void setIdTreino(Long idTreino) {
        this.idTreino = idTreino;
    }

    public Aluno getAluno() {
        return aluno;
    }

    public void setAluno(Aluno aluno) {
        this.aluno = aluno;
    }

    public String getObjetivo() {
        return objetivo;
    }

    public void setObjetivo(String objetivo) {
        this.objetivo = objetivo;
    }

    public String getQtdTreinoRealizados() {
        return qtdTreinoRealizados;
    }

    public void setQtdTreinoRealizados(String qtdTreinoRealizados) {
        this.qtdTreinoRealizados = qtdTreinoRealizados;
    }

    public int getFrequencia() {
        return frequencia;
    }

    public void setFrequencia(int frequencia) {
        this.frequencia = frequencia;
    }

    public String getObservacao() {
        return observacao;
    }

    public void setObservacao(String observacao) {
        this.observacao = observacao;
    }
 
    public Date getDataInicio() {
        return dataInicio;
    }

    public void setDataInicio(Date dataInicio) {
        this.dataInicio = dataInicio;
    }

    public List<TreinoPreTreino> getPreTreino() {
        return preTreino;
    }

    public void setPreTreino(List<TreinoPreTreino> preTreino) {
        this.preTreino = preTreino;
    }

    public List<ExercicioTreino> getExercicios() {
        return exercicios;
    }

    public void setExercicios(List<ExercicioTreino> exercicios) {
        this.exercicios = exercicios;
    }  

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (idTreino != null ? idTreino.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the idTreino fields are not set
        if (!(object instanceof Treino)) {
            return false;
        }
        Treino other = (Treino) object;
        if ((this.idTreino == null && other.idTreino != null) || (this.idTreino != null && !this.idTreino.equals(other.idTreino))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "entidade.Treino[ id=" + idTreino + " ]";
    }    
}
